package com.cyh.mylib.i;

import android.content.Context;

import com.aries.library.fast.i.HttpRequestControl;
import com.cyh.mylib.impl.ActivityControlImpl;
import com.cyh.mylib.impl.AppImpl;
import com.cyh.mylib.impl.HttpRequestControlImpl;


/**
 * @author 程延宏
 * @description:
 * @date :6/24 14:26
 */
public interface IBaseApp {
    /**
     * 自定义接口地址
     * @return 必须携带http：// 或者https：//
     */
    String  getBaseUrl();

    /**
     * 空界面
     * @return 如果为0 则使用默认
     */
    int getRcyEmptyView();

    /**
     * 正在读取界面
     * @return 如果为0 则使用默认
     */
    int getRcyLoadingView();

    /**
     * 自定义App配置 重写可覆盖
     * @param context
     * @param <T>
     * @return
     */
    <T extends AppImpl> T getBaseAppImpl(Context context);

    /**
     * 自定义控制器 重写可覆盖
     * @param <T>
     * @return
     */
    <T extends ActivityControlImpl>  T getActivityControlImpl();

    /**
     * 返回网络控制器 重写可覆盖
     * @param <T>
     * @return
     */
    <T extends HttpRequestControlImpl>  T getHttpRequestControlImpl();
}
